package com.ibeeking.found.cop.b.rest.service;

import com.ibeeking.found.common.entity.open.OpenAuthDTO;
import com.ibeeking.found.common.entity.open.OpenConfigDTO;
import me.chanjar.weixin.cp.api.WxCpService;
import me.chanjar.weixin.cp.tp.service.WxCpTpService;

public interface IWxOpenService {

    /**
     * 获取企业微信开放平台服务并将注册为bean
     *
     * @param
     * @return
     */
    WxCpService getWxCpService(Long tenantId);
    /**
     * 获取企业微信开放平台服务并将注册为bean
     *
     * @param
     * @return
     */
    WxCpTpService getWxCpTpService(Long tenantId);
    String getWxCpTpAccessToken(Long tenantId);
    /**
     * 获取企业微信开放平台服务并将注册为bean
     *
     * @param
     * @return
     */
    WxCpTpService getWxCpDkService(Long tenantId);

    /**
     * 获取开放平台授权配置并将注册为bean
     *
     * @param
     * @return
     */
    OpenAuthDTO queryWxOpenAuthByByAppId(Long tenantId,String appId);
    /**
     * 获取开放平台授权配置并将注册为bean
     *
     * @param
     * @return
     */
    OpenConfigDTO queryWxOpenConfigByType(Integer configType, Integer configSubType);

    /**
     * 获取开放平台授权配置并将注册为bean
     *
     * @param
     * @return
     */
    OpenAuthDTO queryWxOpenAuthByTenantId(Long tenantId, Integer configType, Integer configSubType, Integer appType);
}
